لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش REST API با Flask و Python در سال 2023 [ویدئو]
REST APIs with Flask and Python in 2023 [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
REST API برنامهای است که دادههای مشتریان را میپذیرد و دادهها را برمیگرداند. برای مثال، یک REST API میتواند دادههای متنی مشتری، مانند نام کاربری و رمز عبور را بپذیرد و نشان دهد که آیا کاربر معتبری در پایگاه داده است یا خیر.
این جلد شما را از طریق یک بازنگری پایتون میبرد که شما را از اصول اولیه به برخی از پیشرفتهترین ویژگیهای پایتون میبرد—این تمام پایتونی است که برای تکمیل دوره به آن نیاز دارید. بعلاوه، به ایجاد APIهای REST مبتنی بر منابع و آماده تولید با استفاده از Python، Flask و پسوندهای محبوب Flask ادامه خواهید داد. یاد بگیرید که با Flask ثبت نام و احراز هویت کاربر ایمن را مدیریت کنید. یاد بگیرید که از SQLAlchemy و Flask-SQLAlchemy برای ذخیره آسان و کارآمد منابع در پایگاه داده استفاده کنید. پیچیدگی های پیچیده استقرار Flask REST API ها را درک کنید.
همچنین فناوریهای ضروری مانند Git و مهاجرت پایگاه داده را با Alembic بررسی خواهید کرد. ما با هم یک REST API ایجاد خواهیم کرد که نه تنها به مشتریان اجازه می دهد تا احراز هویت کنند، بلکه هر داده ای را که می خواهید از پایگاه داده ذخیره و بازیابی کنند. یادگیری این به شما کمک می کند هر REST API را که برای پروژه های خود نیاز دارید توسعه دهید!
در پایان دوره، شما مهارت های خود را در توسعه وب و REST API با Python، Flask و Docker درک کرده و توسعه خواهید داد.
همه منابع و فایل های کد در اینجا قرار می گیرند: https://github.com/PacktPublishing/REST-APIs-with-Flask-and-Python-in-2023 برنامه های کاربردی وب یا تلفن همراه خود را از طریق REST API به پایگاه های داده و سرورها متصل کنید.
API های امن و قابل اعتماد REST ایجاد کنید
نحوه تعامل برنامه های کاربردی وب با یکدیگر را درک کنید
احراز هویت کاربر را با ویژگیهای پیشرفته مانند تازهسازی نشانه مدیریت کنید
با فهرست سیاه JWT، خروج از سیستم را در API های REST خود مدیریت کنید
توسعه API های حرفه ای REST با راهنمایی متخصص این دوره برای دانش آموزان و توسعه دهندگان نرم افزاری است که می خواهند برنامه های موبایل و وب خود را با استفاده از فناوری های سمت سرور ارتقا دهند یا با یادگیری نحوه توسعه API های REST درجه حرفه ای، مجموعه مهارت های خود را گسترش دهند. کسانی که به دنبال کاوش در پایتون برای ارائه خدمات وب به طور خاص هستند نیز این دوره را مفید خواهند یافت. آشنایی با مبانی برنامه نویسی و دانش زبان برنامه نویسی پایتون به درک سریع مفاهیم کمک می کند. مدیریت امن ثبت نام و احراز هویت کاربر با Flask * با توسعه API های REST مبتنی بر منابع و آماده تولید آشنا شوید * پیچیدگی های استقرار و عملکرد Flask REST API های Flask را درک کنید
سرفصل ها و درس ها
خوش آمدی!
Welcome!
ترویج
Promotion
یک تجدید کننده کامل پایتون
A Full Python Refresher
مقدمه ای بر این بخش
Introduction to This Section
متغیرها در پایتون
Variables in Python
راه حل تمرین کدگذاری: متغیرها
Solution to Coding Exercise: Variables
قالب بندی رشته در پایتون
String Formatting in Python
دریافت ورودی کاربر
Getting User Input
نوشتن اولین برنامه پایتون
Writing Your First Python App
لیست ها، تاپل ها و مجموعه ها
Lists, Tuples, and Sets
عملیات مجموعه پیشرفته
Advanced Set Operations
راه حل تمرین کدنویسی: لیست ها، تاپل ها و مجموعه ها
Solution to Coding Exercise: Lists, Tuples, and Sets
بولی ها در پایتون
Booleans in Python
اگر بیانیه ها
If Statements
کلمه کلیدی "in" در پایتون
The "in" Keyword in Python
اگر عبارات با کلمه کلیدی "in".
If Statements with the "in" Keyword
حلقه ها در پایتون
Loops in Python
راه حل تمرین کدگذاری: کنترل جریان
Solution to Coding Exercise: Flow Control
فهرست درک در پایتون
List Comprehensions in Python
لغت نامه ها
Dictionaries
متغیرهای تخریب ساختار
Destructuring Variables
توابع در پایتون
Functions in Python
آرگومان ها و پارامترهای تابع
Function Arguments and Parameters
مقادیر پارامترهای پیش فرض
Default Parameter Values
توابع برگردان مقادیر
Functions Returning Values
راه حل تمرین کدگذاری: توابع
Solution to Coding Exercise: Functions
توابع لامبدا در پایتون
Lambda Functions in Python
درک فرهنگ لغت
Dictionary Comprehensions
راه حل تمرین کدنویسی: دیکشنری ها و دانش آموزان
Solution to Coding Exercise: Dictionaries and Students
باز کردن آرگومان ها
Unpacking Arguments
باز کردن آرگومان های کلیدواژه
Unpacking Keyword Arguments
برنامه نویسی شی گرا در پایتون
Object-Oriented Programming in Python
روش های جادویی: ..str.. و ..repr..
Magic Methods: ..str.. and ..repr..
راه حل تمرین کدگذاری: کلاس ها و اشیا
Solution to Coding Exercise: Classes and Objects
@classmethod و @staticmethod
@classmethod and @staticmethod
راه حل تمرین کدنویسی: @classmethod و @staticmethod
Solution to Coding Exercise: @classmethod and @staticmethod
وراثت طبقاتی
Class Inheritance
ترکیب کلاس
Class Composition
Hinting را در پایتون 3.5+ تایپ کنید
Type Hinting in Python 3.5+
واردات در پایتون
Imports in Python
واردات نسبی در پایتون
Relative Imports in Python
خطاها در پایتون
Errors in Python
کلاس های خطای سفارشی
Custom Error Classes
توابع درجه یک
First-Class Functions
دکوراتورهای ساده در پایتون
Simple Decorators in Python
نحو "در" برای دکوراتورها
The "at" Syntax for Decorators
تزئین توابع با پارامترها
Decorating Functions with Parameters
دکوراتورها با پارامترها
Decorators with Parameters
تغییرپذیری در پایتون
Mutability in Python
پارامترهای پیش فرض قابل تغییر (و چرا ایده بدی هستند)
Mutable Default Parameters (and Why They Are a Bad Idea)
اولین API REST شما
Your First REST API
نمای کلی پروژه ای که خواهیم ساخت
Overview of the Project We Will Build
راه اندازی اولیه برای یک برنامه Flask
Initial Setup for a Flask App
اولین نقطه پایانی REST API شما
Your First REST API Endpoint
JSON چیست؟
What Is JSON?
نحوه تعامل و تست REST API خود
How to Interact with and Test Your REST API
چگونه در REST API خود فروشگاه ایجاد کنیم
How to Create Stores in Our REST API
نحوه ایجاد اقلام در هر فروشگاه
How to Create Items in Each Store
چگونه یک فروشگاه خاص و اقلام آن را دریافت کنیم
How to Get a Specific Store and Its Items
مقدمه ای بر داکر
Introduction to Docker
کانتینرها و تصاویر داکر چیست؟
What Are Docker Containers and Images?
چگونه یک برنامه Flask را در یک Docker Container اجرا کنیم
How to Run a Flask App in a Docker Container
Flask-Smorest برای توسعه کارآمدتر
Flask-Smorest for More Efficient Development
بهبود مدل داده برای API ما
Data Model Improvements for Our API
بهبودهای کلی در اولین API REST ما
General Improvements to Our First REST API
نقاط پایانی جدید برای اولین API REST ما
New Endpoints for Our First REST API
نحوه اجرای API در Docker با بارگیری مجدد خودکار و حالت اشکال زدایی
How to Run the API in Docker with Automatic Reloading and Debug Mode
نحوه استفاده از Blueprints و MethodViews در Flask
How to Use Blueprints and MethodViews in Flask
چگونه برای API خود طرحواره های Marshmallow بنویسیم
How to Write Marshmallow Schemas for Our API
نحوه انجام اعتبارسنجی داده ها با مارشمالو
How to Perform Data Validation with Marshmallow
تزئین پاسخ ها با Flask-Smorest
Decorating Responses with Flask-Smorest
ذخیره داده ها در پایگاه داده DQL با SQLAlchemy
Store Data in DQL Database with SQLAlchemy
بررسی اجمالی و چرایی استفاده از SQLAlchemy
Overview and Why Use SQLAlchemy
نحوه کدنویسی یک مدل ساده SQLAlchemy
How to Code a Simple SQLAlchemy Model
نحوه نوشتن روابط یک به چند با استفاده از SQLAlchemy
How to Write One-to-Many Relationships Using SQLAlchemy
نحوه پیکربندی Flask-SQLAlchemy با اپلیکیشن Flask
How to Configure Flask-SQLAlchemy with Your Flask App
نحوه درج داده ها در جدول با استفاده از SQLAlchemy
How to Insert Data into a Table Using SQLAlchemy
نحوه یافتن مدل ها در پایگاه داده با شناسه یا برگرداندن 404
How to Find Models in the Database by ID or Return a 404
نحوه به روز رسانی مدل ها با SQLAlchemy
How to Update Models with SQLAlchemy
نحوه بازیابی لیست همه مدل ها
How to Retrieve List of All Models
نحوه حذف مدل ها با SQLAlchemy
How to Delete Models with SQLAlchemy
نتیجه گیری این بخش
Conclusion of This Section
روابط چند به چند با SQLAlchemy
Many-to-Many Relationships with SQLAlchemy
تغییرات در این بخش
Changes in This Section
ارتباط یک به چند بین فروشگاه ها و برچسب ها
One-to-Many Relationship Between Stores and Tags
رابطه چند به چند بین آیتم ها و برچسب ها
Many-to-Many Relationship Between Items and Tags
احراز هویت کاربر با Flask-JWT-Extended
User Authentication with Flask-JWT-Extended
چه کسی از JWT استفاده می کند؟
Who Uses the JWT?
نحوه تنظیم Flask-JWT-Extended با برنامه ما
How to Set Up Flask-JWT-Extended with Our App
کدگذاری مدل کاربر و طرحواره
Coding the User Model and Schema
چگونه یک Endpoint ثبت نام را به REST API اضافه کنیم
How to Add a Register Endpoint to the REST API
نحوه افزودن نقطه پایان ورود به API REST
How to Add a Login Endpoint to the REST API
با نیاز به JWT از نقاط پایانی محافظت کنید
Protect Endpoints by Requiring a JWT
ادعاها و مجوز JWT
JWT Claims and Authorization
نحوه اضافه کردن Logout به REST API
How to Add Logout to the REST API
درخواست زنجیره ای با بی خوابی
Request Chaining with Insomnia
تازه کردن توکن با Flask-JWT-Extended
Token Refreshing with Flask-JWT-Extended
مهاجرت های پایگاه داده با Alembic و Flask-Migrate
Database Migrations with Alembic and Flask-Migrate
چگونه Flask-Migrate را به برنامه Flask خود اضافه کنیم
How to Add Flask-Migrate to Our Flask App
پایگاه داده خود را با Flask-Migrate راه اندازی کنید
Initialize Your Database with Flask-Migrate
مدل های SQLAlchemy را تغییر دهید و یک مهاجرت ایجاد کنید
Change SQLAlchemy Models and Generate a Migration
بررسی و اصلاح دستی مهاجرت های پایگاه داده
Manually Review and Modify Database Migrations
دوره Crash Git
Git Crash Course
مخازن و تعهدات Git چیست؟
What Are Git Repositories and Commits?
یک مخزن Git برای پروژه ما راه اندازی کنید
Initialize a Git Repository for Our Project
نوشتن امتیاز برای اسناد و تعهدات
Writing Markdown for Documents and Commits
مخازن راه دور و نحوه استفاده از آنها
Remote Repositories and How to Use Them
Git Branches and Merging
Git Branches and Merging
ادغام تضادها و نحوه حل آنها
Merge Conflicts and How to Resolve Them
مروری بر فصول نهایی کتاب الکترونیکی
Overview of the Final E-Book Chapters
استقرار با Render.com
Deployments with Render.com
ایجاد وب سرویس Render.com
Creating a Render.com Web Service
چگونه فلاسک را با گانیکورن در داکر اجرا کنیم
How to Run Flask with gunicorn in Docker
یک پایگاه داده مستقر PostgreSQL دریافت کنید
Get a Deployed PostgreSQL Database
از PostgreSQL به صورت محلی و در تولید استفاده کنید
Use PostgreSQL Locally and in Production
برنامه تولید نهایی را آزمایش کنید
Test the Finished Production App
صف های وظیفه با rq و ارسال ایمیل
Task Queues with rq and Sending Emails
نحوه ارسال ایمیل با پایتون و میلگان
How to Send Emails with Python and Mailgun
نحوه ارسال ایمیل هنگام ثبت نام کاربران
How to Send Emails When Users Register
Task Queue و راه اندازی پایگاه داده Redis چیست؟
What Is a Task Queue and Setting Up a Redis Database
نحوه پر کردن و مصرف Task Queue با rq
How to Populate and Consume the Task Queue with rq
نحوه پردازش وظایف پس زمینه با rq Worker
How to Process Background Tasks with the rq Worker
نحوه ارسال ایمیل های HTML با استفاده از Mailgun و Python
How to Send HTML Emails Using Mailgun and Python
نحوه استقرار یک Background Worker در render.com
How to Deploy a Background Worker to render.com
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
خوزه، یک مربی پرشور در حوزه برنامه نویسی و توسعه نرم افزار، بیش از 7 سال را به آموزش آنلاین اختصاص داده است. او Teclado را با چشماندازی برای دموکراتیک کردن آموزش توسعه نرمافزار تأسیس کرد و در تلاش برای اطمینان از درک جامع برای دانشآموزانش بود. رویکرد او یادگیری کدنویسی را به سفری واضح و پرارزش تبدیل میکند و نقاطی را که زمانی مبهم به نظر میرسیدند به هم متصل میکند.
خوزه که در پایتون و جاوا اسکریپت تخصص دارد، در توسعه وب و باطن برتری دارد. او در کتابخانه ها و فریم ورک های مختلف از جمله Flask، React، React Native و AngularJS مهارت دارد. تخصص او به کار با سیستمهای UNIX، MongoDB، PostgreSQL و ایجاد معماریهای پیشرفته سیستم گسترش مییابد. تعهد خوزه این است که فرآیند یادگیری را کارآمد و لذت بخش کند و دانش آموزان را به سمت تسلط در توسعه نرم افزار هدایت کند.
نمایش نظرات